#ifndef SES_LCD_H_
#define SES_LCD_H_

#include <stdio.h>
#include <stdint.h>



/*
 * Provides an interface for controlling the LCD.
 *
 * Functions provide functionality for setting the cursor, writing strings on
 * the LCD output, and clearing the LCD.
 */



/*
 * File descriptor for LCD. You can use this in conjunction with fprintf.
 * Example: fprintf(lcdout, "Hello World %d\n", 2012);
 */
extern FILE* lcdout;



/*
 * Initializes the display print facility.
 */
void lcd_init();

/*
 * Jumps character cursor to specified position. The position of the cursor
 * determines the position of the next character which is written.
 *
 * @param p		horizontal position of cursor
 * @param r		row of cursor
 */
void lcd_setCursor(uint8_t p, uint8_t r);

/*
 * Writes a character to the position of the cursor. Afterwards the cursor
 * position is increased by one.
 *
 * @param chr 	character to write to display
 */
void lcd_putc(char chr);

/*
 * Clears the whole display.
 */
void lcd_clear();



#endif /* SES_LCD_H_ */
